from dotenv import load_dotenv
import os

env = os.getenv("ENV", "dev")  # 默认环境为 "dev"
dotenv_path = f".env.{env}"
dotenv_path = os.path.join(os.path.dirname(__file__), f".env.{env}")
if not os.path.exists(dotenv_path):
    raise FileNotFoundError(f"{dotenv_path} not found")

load_dotenv(dotenv_path)
SQLALCHEMY_DATABASE_URI = os.getenv("SQLALCHEMY_DATABASE_URI")
print("==========init", SQLALCHEMY_DATABASE_URI)




class Config:
    SQLALCHEMY_DATABASE_URI = SQLALCHEMY_DATABASE_URI
    SECRET_KEY = "your_secret_key2333"
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_ENGINE_OPTIONS = {
        "pool_pre_ping": True,  # 在每次使用连接之前检查它是否有效。如果连接无效，则会自动丢弃并创建新连接
        "pool_size": 10,  # 最大连接数
        "pool_recycle": 3600,  # 每 3600 秒回收一次连接，防止超时
        "pool_timeout": 30,  # 连接池等待时间
        "max_overflow": 5,  # 超出 pool_size 后的额外连接数
    }
    UPLOAD_FOLDER = "uploads" # 文件上传路径
    MAX_CONTENT_LENGTH = 16 * 1024 * 1024 # 文件上传最大限制
    

